

		RETEA STRADALA
	       ----------------

	Reteaua stradala a unui oras este formata din strazi si noduri. In fiecare nod se intalnesc
cel putin 2 strazi. Toate strazile sunt cu sens unic, 2 noduri pot fi legate si prin mai multe
strazi, iar un nod poate avea o strada care pleaca si se intoarce tot in el (bucla).
	Scrieti un program care sa rezolve urmatoarele cerinte:
1. Este posibil sa plecam din cel putin un nod A si sa trecem prin TOATE strazile exact o data?
2. Cate noduri pot servi ca punct de plecare pentru a satisface proprietatea din cazul precedent?
3. Pentru fiecare nod X, cate drumuri de lungime S exista, care pleaca si se intorc in X, iar fie-
care strada si nod (in afara de X) sunt vizitate mai mult de o singura data?

INTRARE (fisier INPUT.TXT):

	Prima linie contine un intreg pozitiv N (N<=50) care reprezinta numarul de noduri ale re-
telei stradale. A doua linie contine un numar intreg pozitiv S (S<=3) reprezentand lungimea drumu-
lui. Urmatoarele N linii contin descrierea retelei: elementul din linia I si coloana J este numa-
rul de strazi de la nodul I spre nodul J.

IESIRE (fisier OUTPUT.TXT)

	Prima linie contine cuvantul "YES" daca se poate pleca dintr-un nod, trece prin toate stra-
zile exact o data si ajunge fie in nodul de plecarem fie intr-un alt nod. In caz contrar, pe prima
linie din fisierul de intrare apare cuvantu "NO". Daca raspunsul este "YES", urmatoarea linie din
fisierul de iesire contine un numar intreg pozitiv care arata cate noduri pot servi ca punct de
plecare.
	Ultima line va contine N numere intregi strict pozitive, separate prin cate un spatiu care
arata pt. fiecare nod cate drumuri diferite de lungime S exista, care pleaca si se intorc in nodul
respectiv. Aceste numere trebuie ordonate crescator.

EXEMPLUL 1:
INPUT.TXT		OUTPUT.TXT
3			YES
2			3
1 1 0			2 2 3
1 1 1
0 1 1

EXEMPLUL 2:
INPUT.TXT		OUTPUT.TXT
3			NO
2			1 2 2
1 1 0
1 1 2
0 0 1